identifying functional groups in molecules